{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Neural_Networks.ipynb",
      "version": "0.3.2",
      "provenance": [],
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/randerson112358/Python/blob/master/Neural_Networks.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "p_UN7AMsdTWf",
        "colab_type": "text"
      },
      "source": [
        "![Houses](https://cdn12.picryl.com/photo/2016/12/31/painted-ladies-houses-san-francisco-architecture-buildings-2efc18-1024.jpg)\n",
        "# House Median Price Prediction\n",
        "### Using Deep Neural Networks\n",
        "\n",
        "### Program Description\n",
        "This program predicts if the price of a house will be above the median price or not based off of it's features.\n",
        "\n",
        "### About Neural Networks\n",
        "Artificial neural networks (ANN) or connectionist systems are computing systems that are inspired by, but not necessarily identical to, the biological neural networks that constitute animal brains. Such systems \"learn\" to perform tasks by considering examples, generally without being programmed with any task-specific rules. Deep Neural networs are just ANN's with multiple hidden layers."
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "tpVWIrlZazJP",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "8c02c779-1a69-4fb0-ed13-fa9d8cda118b"
      },
      "source": [
        "#import the dependencies\n",
        "import pandas as pd\n",
        "from keras.models import Sequential\n",
        "from keras.layers import Dense\n",
        "from sklearn.model_selection import train_test_split\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "\n"
      ],
      "execution_count": 2,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Using TensorFlow backend.\n"
          ],
          "name": "stderr"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "s8Uf1NyMsTtP",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#Load the data set\n",
        "df = pd.read_csv('housepricedata.csv')\n"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "vYn84ufmuAub",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 266
        },
        "outputId": "c0539c00-0f14-4207-ae38-79ea49a92078"
      },
      "source": [
        "#Look at the data first 7 rows of data\n",
        "df.head(7)"
      ],
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>LotArea</th>\n",
              "      <th>OverallQual</th>\n",
              "      <th>OverallCond</th>\n",
              "      <th>TotalBsmtSF</th>\n",
              "      <th>FullBath</th>\n",
              "      <th>HalfBath</th>\n",
              "      <th>BedroomAbvGr</th>\n",
              "      <th>TotRmsAbvGrd</th>\n",
              "      <th>Fireplaces</th>\n",
              "      <th>GarageArea</th>\n",
              "      <th>AboveMedianPrice</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>8450</td>\n",
              "      <td>7</td>\n",
              "      <td>5</td>\n",
              "      <td>856</td>\n",
              "      <td>2</td>\n",
              "      <td>1</td>\n",
              "      <td>3</td>\n",
              "      <td>8</td>\n",
              "      <td>0</td>\n",
              "      <td>548</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>9600</td>\n",
              "      <td>6</td>\n",
              "      <td>8</td>\n",
              "      <td>1262</td>\n",
              "      <td>2</td>\n",
              "      <td>0</td>\n",
              "      <td>3</td>\n",
              "      <td>6</td>\n",
              "      <td>1</td>\n",
              "      <td>460</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>11250</td>\n",
              "      <td>7</td>\n",
              "      <td>5</td>\n",
              "      <td>920</td>\n",
              "      <td>2</td>\n",
              "      <td>1</td>\n",
              "      <td>3</td>\n",
              "      <td>6</td>\n",
              "      <td>1</td>\n",
              "      <td>608</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>9550</td>\n",
              "      <td>7</td>\n",
              "      <td>5</td>\n",
              "      <td>756</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>3</td>\n",
              "      <td>7</td>\n",
              "      <td>1</td>\n",
              "      <td>642</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>14260</td>\n",
              "      <td>8</td>\n",
              "      <td>5</td>\n",
              "      <td>1145</td>\n",
              "      <td>2</td>\n",
              "      <td>1</td>\n",
              "      <td>4</td>\n",
              "      <td>9</td>\n",
              "      <td>1</td>\n",
              "      <td>836</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>5</th>\n",
              "      <td>14115</td>\n",
              "      <td>5</td>\n",
              "      <td>5</td>\n",
              "      <td>796</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>5</td>\n",
              "      <td>0</td>\n",
              "      <td>480</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>6</th>\n",
              "      <td>10084</td>\n",
              "      <td>8</td>\n",
              "      <td>5</td>\n",
              "      <td>1686</td>\n",
              "      <td>2</td>\n",
              "      <td>0</td>\n",
              "      <td>3</td>\n",
              "      <td>7</td>\n",
              "      <td>1</td>\n",
              "      <td>636</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "   LotArea  OverallQual  OverallCond  ...  Fireplaces  GarageArea  AboveMedianPrice\n",
              "0     8450            7            5  ...           0         548                 1\n",
              "1     9600            6            8  ...           1         460                 1\n",
              "2    11250            7            5  ...           1         608                 1\n",
              "3     9550            7            5  ...           1         642                 0\n",
              "4    14260            8            5  ...           1         836                 1\n",
              "5    14115            5            5  ...           0         480                 0\n",
              "6    10084            8            5  ...           1         636                 1\n",
              "\n",
              "[7 rows x 11 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 4
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "zlukoFjStifz",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 136
        },
        "outputId": "17153428-1860-4b4e-d8db-3f46d2b82837"
      },
      "source": [
        "#Convert the data into an array\n",
        "dataset = df.values\n",
        "dataset"
      ],
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([[ 8450,     7,     5, ...,     0,   548,     1],\n",
              "       [ 9600,     6,     8, ...,     1,   460,     1],\n",
              "       [11250,     7,     5, ...,     1,   608,     1],\n",
              "       ...,\n",
              "       [ 9042,     7,     9, ...,     2,   252,     1],\n",
              "       [ 9717,     5,     6, ...,     0,   240,     0],\n",
              "       [ 9937,     5,     6, ...,     0,   276,     0]])"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 5
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "gnXZ9IxgTT5Y",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#Split the data set\n",
        "X = dataset[:,0:10]\n",
        "Y = dataset[:,10]"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "j4JDp14yUK_u",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 238
        },
        "outputId": "7c109f61-00b4-4804-a488-097640a1f3e7"
      },
      "source": [
        "#the min-max scaler method scales the dataset so that all the input features lie between 0 and 1 inclusive\n",
        "from sklearn import preprocessing\n",
        "min_max_scaler = preprocessing.MinMaxScaler()\n",
        "X_scale = min_max_scaler.fit_transform(X)\n",
        "X_scale"
      ],
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "array([[0.0334198 , 0.66666667, 0.5       , ..., 0.5       , 0.        ,\n",
              "        0.3864598 ],\n",
              "       [0.03879502, 0.55555556, 0.875     , ..., 0.33333333, 0.33333333,\n",
              "        0.32440056],\n",
              "       [0.04650728, 0.66666667, 0.5       , ..., 0.33333333, 0.33333333,\n",
              "        0.42877292],\n",
              "       ...,\n",
              "       [0.03618687, 0.66666667, 1.        , ..., 0.58333333, 0.66666667,\n",
              "        0.17771509],\n",
              "       [0.03934189, 0.44444444, 0.625     , ..., 0.25      , 0.        ,\n",
              "        0.16925247],\n",
              "       [0.04037019, 0.44444444, 0.625     , ..., 0.33333333, 0.        ,\n",
              "        0.19464034]])"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 8
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "EwftF_DsUXJ9",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "5d516719-6b77-4464-d64c-bb47671ebbbd"
      },
      "source": [
        "#Split the data into 80% training and 20% (testing (10%) and validation (10%))\n",
        "from sklearn.model_selection import train_test_split\n",
        "X_train, X_val_and_test, Y_train, Y_val_and_test = train_test_split(X_scale, Y, test_size=0.2)\n",
        "X_val, X_test, Y_val, Y_test = train_test_split(X_val_and_test, Y_val_and_test, test_size=0.5)\n",
        "\n",
        "#the training set has 1022 data points while the validation and test set has 219 data points each. The X variables have 10 input features, while the Y variables only has one feature to predict.\n",
        "print(X_train.shape, X_val.shape, X_test.shape, Y_train.shape, Y_val.shape, Y_test.shape)"
      ],
      "execution_count": 11,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "(1022, 10) (219, 10) (219, 10) (1022,) (219,) (219,)\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "cViCvHCZU0wj",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#Build the model and architecture of the deep neural network\n",
        "from keras.models import Sequential\n",
        "from keras.layers import Dense\n",
        "\n",
        "# The models architechture 4 layers, 3 with 32 neurons and activation function = relu function, \n",
        "# the last layer has 1 neuron with an activation function = sigmoid function which returns a value btwn 0 and 1\n",
        "# The input shape/ input_dim = 10 the number of features in the data set\n",
        "model = Sequential([\n",
        "    Dense(32, activation='relu', input_shape=(10,)),\n",
        "    Dense(32, activation='relu'),\n",
        "    Dense(32, activation='relu'),\n",
        "    Dense(1, activation='sigmoid')\n",
        "])"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "fu80jev3VPUe",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "# loss measuers how well the model did on training , and then tries to improve on it using the optimizer\n",
        "model.compile(optimizer='sgd',\n",
        "              loss='binary_crossentropy',\n",
        "              metrics=['accuracy'])"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "eYg91iQPVWK9",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 3434
        },
        "outputId": "3c104cf1-7383-47de-8140-207351e2142c"
      },
      "source": [
        "#Train the model\n",
        "hist = model.fit(X_train, Y_train,\n",
        "          batch_size=32, epochs=100,\n",
        "          validation_data=(X_val, Y_val))"
      ],
      "execution_count": 83,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Train on 1022 samples, validate on 219 samples\n",
            "Epoch 1/100\n",
            "1022/1022 [==============================] - 1s 1ms/step - loss: 0.6923 - acc: 0.5323 - val_loss: 0.6939 - val_acc: 0.4932\n",
            "Epoch 2/100\n",
            "1022/1022 [==============================] - 0s 67us/step - loss: 0.6887 - acc: 0.5499 - val_loss: 0.6908 - val_acc: 0.5114\n",
            "Epoch 3/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.6850 - acc: 0.5881 - val_loss: 0.6877 - val_acc: 0.5525\n",
            "Epoch 4/100\n",
            "1022/1022 [==============================] - 0s 58us/step - loss: 0.6818 - acc: 0.6018 - val_loss: 0.6851 - val_acc: 0.5708\n",
            "Epoch 5/100\n",
            "1022/1022 [==============================] - 0s 55us/step - loss: 0.6790 - acc: 0.6341 - val_loss: 0.6828 - val_acc: 0.5753\n",
            "Epoch 6/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.6762 - acc: 0.6301 - val_loss: 0.6803 - val_acc: 0.6119\n",
            "Epoch 7/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.6735 - acc: 0.6614 - val_loss: 0.6779 - val_acc: 0.6256\n",
            "Epoch 8/100\n",
            "1022/1022 [==============================] - 0s 54us/step - loss: 0.6706 - acc: 0.6781 - val_loss: 0.6754 - val_acc: 0.6347\n",
            "Epoch 9/100\n",
            "1022/1022 [==============================] - 0s 57us/step - loss: 0.6676 - acc: 0.6849 - val_loss: 0.6727 - val_acc: 0.6438\n",
            "Epoch 10/100\n",
            "1022/1022 [==============================] - 0s 50us/step - loss: 0.6644 - acc: 0.6859 - val_loss: 0.6697 - val_acc: 0.6575\n",
            "Epoch 11/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.6612 - acc: 0.7045 - val_loss: 0.6666 - val_acc: 0.6804\n",
            "Epoch 12/100\n",
            "1022/1022 [==============================] - 0s 57us/step - loss: 0.6577 - acc: 0.7211 - val_loss: 0.6633 - val_acc: 0.6941\n",
            "Epoch 13/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.6538 - acc: 0.7495 - val_loss: 0.6598 - val_acc: 0.6941\n",
            "Epoch 14/100\n",
            "1022/1022 [==============================] - 0s 51us/step - loss: 0.6496 - acc: 0.7309 - val_loss: 0.6554 - val_acc: 0.7352\n",
            "Epoch 15/100\n",
            "1022/1022 [==============================] - 0s 51us/step - loss: 0.6449 - acc: 0.7573 - val_loss: 0.6508 - val_acc: 0.7580\n",
            "Epoch 16/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.6398 - acc: 0.7446 - val_loss: 0.6455 - val_acc: 0.7808\n",
            "Epoch 17/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.6342 - acc: 0.7935 - val_loss: 0.6405 - val_acc: 0.7854\n",
            "Epoch 18/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.6283 - acc: 0.7838 - val_loss: 0.6345 - val_acc: 0.8037\n",
            "Epoch 19/100\n",
            "1022/1022 [==============================] - 0s 51us/step - loss: 0.6216 - acc: 0.8121 - val_loss: 0.6283 - val_acc: 0.8128\n",
            "Epoch 20/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.6145 - acc: 0.8082 - val_loss: 0.6211 - val_acc: 0.8174\n",
            "Epoch 21/100\n",
            "1022/1022 [==============================] - 0s 55us/step - loss: 0.6067 - acc: 0.8200 - val_loss: 0.6133 - val_acc: 0.8219\n",
            "Epoch 22/100\n",
            "1022/1022 [==============================] - 0s 51us/step - loss: 0.5984 - acc: 0.8346 - val_loss: 0.6049 - val_acc: 0.8311\n",
            "Epoch 23/100\n",
            "1022/1022 [==============================] - 0s 51us/step - loss: 0.5892 - acc: 0.8434 - val_loss: 0.5963 - val_acc: 0.8356\n",
            "Epoch 24/100\n",
            "1022/1022 [==============================] - 0s 55us/step - loss: 0.5794 - acc: 0.8415 - val_loss: 0.5857 - val_acc: 0.8447\n",
            "Epoch 25/100\n",
            "1022/1022 [==============================] - 0s 62us/step - loss: 0.5688 - acc: 0.8464 - val_loss: 0.5752 - val_acc: 0.8493\n",
            "Epoch 26/100\n",
            "1022/1022 [==============================] - 0s 51us/step - loss: 0.5573 - acc: 0.8562 - val_loss: 0.5650 - val_acc: 0.8493\n",
            "Epoch 27/100\n",
            "1022/1022 [==============================] - 0s 51us/step - loss: 0.5455 - acc: 0.8552 - val_loss: 0.5532 - val_acc: 0.8447\n",
            "Epoch 28/100\n",
            "1022/1022 [==============================] - 0s 69us/step - loss: 0.5327 - acc: 0.8493 - val_loss: 0.5401 - val_acc: 0.8447\n",
            "Epoch 29/100\n",
            "1022/1022 [==============================] - 0s 55us/step - loss: 0.5193 - acc: 0.8542 - val_loss: 0.5258 - val_acc: 0.8630\n",
            "Epoch 30/100\n",
            "1022/1022 [==============================] - 0s 50us/step - loss: 0.5055 - acc: 0.8640 - val_loss: 0.5133 - val_acc: 0.8539\n",
            "Epoch 31/100\n",
            "1022/1022 [==============================] - 0s 54us/step - loss: 0.4915 - acc: 0.8581 - val_loss: 0.4982 - val_acc: 0.8584\n",
            "Epoch 32/100\n",
            "1022/1022 [==============================] - 0s 55us/step - loss: 0.4765 - acc: 0.8611 - val_loss: 0.4840 - val_acc: 0.8493\n",
            "Epoch 33/100\n",
            "1022/1022 [==============================] - 0s 61us/step - loss: 0.4613 - acc: 0.8699 - val_loss: 0.4702 - val_acc: 0.8493\n",
            "Epoch 34/100\n",
            "1022/1022 [==============================] - 0s 54us/step - loss: 0.4471 - acc: 0.8708 - val_loss: 0.4580 - val_acc: 0.8539\n",
            "Epoch 35/100\n",
            "1022/1022 [==============================] - 0s 56us/step - loss: 0.4329 - acc: 0.8728 - val_loss: 0.4442 - val_acc: 0.8539\n",
            "Epoch 36/100\n",
            "1022/1022 [==============================] - 0s 54us/step - loss: 0.4195 - acc: 0.8757 - val_loss: 0.4302 - val_acc: 0.8630\n",
            "Epoch 37/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.4069 - acc: 0.8767 - val_loss: 0.4197 - val_acc: 0.8630\n",
            "Epoch 38/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.3945 - acc: 0.8767 - val_loss: 0.4109 - val_acc: 0.8630\n",
            "Epoch 39/100\n",
            "1022/1022 [==============================] - 0s 54us/step - loss: 0.3832 - acc: 0.8796 - val_loss: 0.3970 - val_acc: 0.8630\n",
            "Epoch 40/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.3729 - acc: 0.8806 - val_loss: 0.3877 - val_acc: 0.8630\n",
            "Epoch 41/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.3635 - acc: 0.8865 - val_loss: 0.3810 - val_acc: 0.8630\n",
            "Epoch 42/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.3540 - acc: 0.8855 - val_loss: 0.3710 - val_acc: 0.8721\n",
            "Epoch 43/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.3459 - acc: 0.8806 - val_loss: 0.3641 - val_acc: 0.8676\n",
            "Epoch 44/100\n",
            "1022/1022 [==============================] - 0s 56us/step - loss: 0.3380 - acc: 0.8806 - val_loss: 0.3579 - val_acc: 0.8676\n",
            "Epoch 45/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.3311 - acc: 0.8855 - val_loss: 0.3528 - val_acc: 0.8721\n",
            "Epoch 46/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.3239 - acc: 0.8845 - val_loss: 0.3466 - val_acc: 0.8904\n",
            "Epoch 47/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.3189 - acc: 0.8865 - val_loss: 0.3420 - val_acc: 0.8721\n",
            "Epoch 48/100\n",
            "1022/1022 [==============================] - 0s 54us/step - loss: 0.3138 - acc: 0.8855 - val_loss: 0.3373 - val_acc: 0.8813\n",
            "Epoch 49/100\n",
            "1022/1022 [==============================] - 0s 68us/step - loss: 0.3088 - acc: 0.8904 - val_loss: 0.3349 - val_acc: 0.8813\n",
            "Epoch 50/100\n",
            "1022/1022 [==============================] - 0s 58us/step - loss: 0.3021 - acc: 0.8855 - val_loss: 0.3297 - val_acc: 0.8904\n",
            "Epoch 51/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.2996 - acc: 0.8894 - val_loss: 0.3287 - val_acc: 0.8950\n",
            "Epoch 52/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.2970 - acc: 0.8904 - val_loss: 0.3230 - val_acc: 0.8904\n",
            "Epoch 53/100\n",
            "1022/1022 [==============================] - 0s 56us/step - loss: 0.2927 - acc: 0.8914 - val_loss: 0.3209 - val_acc: 0.8904\n",
            "Epoch 54/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.2916 - acc: 0.8894 - val_loss: 0.3183 - val_acc: 0.8904\n",
            "Epoch 55/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.2885 - acc: 0.8904 - val_loss: 0.3156 - val_acc: 0.8950\n",
            "Epoch 56/100\n",
            "1022/1022 [==============================] - 0s 51us/step - loss: 0.2845 - acc: 0.8875 - val_loss: 0.3138 - val_acc: 0.8950\n",
            "Epoch 57/100\n",
            "1022/1022 [==============================] - 0s 55us/step - loss: 0.2820 - acc: 0.8904 - val_loss: 0.3141 - val_acc: 0.8858\n",
            "Epoch 58/100\n",
            "1022/1022 [==============================] - 0s 57us/step - loss: 0.2805 - acc: 0.8914 - val_loss: 0.3100 - val_acc: 0.8950\n",
            "Epoch 59/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.2777 - acc: 0.8914 - val_loss: 0.3083 - val_acc: 0.8995\n",
            "Epoch 60/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.2755 - acc: 0.8933 - val_loss: 0.3068 - val_acc: 0.8995\n",
            "Epoch 61/100\n",
            "1022/1022 [==============================] - 0s 55us/step - loss: 0.2726 - acc: 0.8933 - val_loss: 0.3073 - val_acc: 0.8950\n",
            "Epoch 62/100\n",
            "1022/1022 [==============================] - 0s 51us/step - loss: 0.2713 - acc: 0.8885 - val_loss: 0.3067 - val_acc: 0.8904\n",
            "Epoch 63/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.2683 - acc: 0.8973 - val_loss: 0.3064 - val_acc: 0.8950\n",
            "Epoch 64/100\n",
            "1022/1022 [==============================] - 0s 56us/step - loss: 0.2681 - acc: 0.8943 - val_loss: 0.3021 - val_acc: 0.9041\n",
            "Epoch 65/100\n",
            "1022/1022 [==============================] - 0s 55us/step - loss: 0.2658 - acc: 0.8943 - val_loss: 0.3021 - val_acc: 0.8950\n",
            "Epoch 66/100\n",
            "1022/1022 [==============================] - 0s 56us/step - loss: 0.2637 - acc: 0.8933 - val_loss: 0.3007 - val_acc: 0.8950\n",
            "Epoch 67/100\n",
            "1022/1022 [==============================] - 0s 51us/step - loss: 0.2623 - acc: 0.8924 - val_loss: 0.2994 - val_acc: 0.9041\n",
            "Epoch 68/100\n",
            "1022/1022 [==============================] - 0s 56us/step - loss: 0.2622 - acc: 0.8953 - val_loss: 0.2987 - val_acc: 0.9041\n",
            "Epoch 69/100\n",
            "1022/1022 [==============================] - 0s 54us/step - loss: 0.2598 - acc: 0.8933 - val_loss: 0.2990 - val_acc: 0.8950\n",
            "Epoch 70/100\n",
            "1022/1022 [==============================] - 0s 56us/step - loss: 0.2593 - acc: 0.8973 - val_loss: 0.2974 - val_acc: 0.9041\n",
            "Epoch 71/100\n",
            "1022/1022 [==============================] - 0s 55us/step - loss: 0.2567 - acc: 0.8982 - val_loss: 0.2974 - val_acc: 0.8995\n",
            "Epoch 72/100\n",
            "1022/1022 [==============================] - 0s 55us/step - loss: 0.2562 - acc: 0.8992 - val_loss: 0.2961 - val_acc: 0.8950\n",
            "Epoch 73/100\n",
            "1022/1022 [==============================] - 0s 51us/step - loss: 0.2560 - acc: 0.8963 - val_loss: 0.2966 - val_acc: 0.8995\n",
            "Epoch 74/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.2554 - acc: 0.8973 - val_loss: 0.2948 - val_acc: 0.8995\n",
            "Epoch 75/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.2530 - acc: 0.8943 - val_loss: 0.2967 - val_acc: 0.9041\n",
            "Epoch 76/100\n",
            "1022/1022 [==============================] - 0s 54us/step - loss: 0.2523 - acc: 0.9012 - val_loss: 0.2939 - val_acc: 0.8950\n",
            "Epoch 77/100\n",
            "1022/1022 [==============================] - 0s 58us/step - loss: 0.2512 - acc: 0.8992 - val_loss: 0.2946 - val_acc: 0.8995\n",
            "Epoch 78/100\n",
            "1022/1022 [==============================] - 0s 51us/step - loss: 0.2500 - acc: 0.8992 - val_loss: 0.2938 - val_acc: 0.8950\n",
            "Epoch 79/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.2497 - acc: 0.8973 - val_loss: 0.2939 - val_acc: 0.8950\n",
            "Epoch 80/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.2490 - acc: 0.8973 - val_loss: 0.2961 - val_acc: 0.9041\n",
            "Epoch 81/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.2478 - acc: 0.9012 - val_loss: 0.2923 - val_acc: 0.8904\n",
            "Epoch 82/100\n",
            "1022/1022 [==============================] - 0s 55us/step - loss: 0.2461 - acc: 0.9012 - val_loss: 0.2927 - val_acc: 0.8950\n",
            "Epoch 83/100\n",
            "1022/1022 [==============================] - 0s 69us/step - loss: 0.2462 - acc: 0.9002 - val_loss: 0.2919 - val_acc: 0.8950\n",
            "Epoch 84/100\n",
            "1022/1022 [==============================] - 0s 55us/step - loss: 0.2447 - acc: 0.9012 - val_loss: 0.2950 - val_acc: 0.9041\n",
            "Epoch 85/100\n",
            "1022/1022 [==============================] - 0s 58us/step - loss: 0.2443 - acc: 0.8953 - val_loss: 0.2929 - val_acc: 0.8950\n",
            "Epoch 86/100\n",
            "1022/1022 [==============================] - 0s 51us/step - loss: 0.2432 - acc: 0.9041 - val_loss: 0.2926 - val_acc: 0.8995\n",
            "Epoch 87/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.2425 - acc: 0.9022 - val_loss: 0.2931 - val_acc: 0.9041\n",
            "Epoch 88/100\n",
            "1022/1022 [==============================] - 0s 54us/step - loss: 0.2433 - acc: 0.8982 - val_loss: 0.2913 - val_acc: 0.8995\n",
            "Epoch 89/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.2423 - acc: 0.9012 - val_loss: 0.2911 - val_acc: 0.8904\n",
            "Epoch 90/100\n",
            "1022/1022 [==============================] - 0s 51us/step - loss: 0.2409 - acc: 0.9031 - val_loss: 0.2913 - val_acc: 0.8904\n",
            "Epoch 91/100\n",
            "1022/1022 [==============================] - 0s 57us/step - loss: 0.2389 - acc: 0.9022 - val_loss: 0.2928 - val_acc: 0.8904\n",
            "Epoch 92/100\n",
            "1022/1022 [==============================] - 0s 54us/step - loss: 0.2399 - acc: 0.9022 - val_loss: 0.2936 - val_acc: 0.8995\n",
            "Epoch 93/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.2358 - acc: 0.8982 - val_loss: 0.2913 - val_acc: 0.8950\n",
            "Epoch 94/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.2379 - acc: 0.8992 - val_loss: 0.2954 - val_acc: 0.8995\n",
            "Epoch 95/100\n",
            "1022/1022 [==============================] - 0s 52us/step - loss: 0.2395 - acc: 0.9031 - val_loss: 0.2920 - val_acc: 0.8904\n",
            "Epoch 96/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.2363 - acc: 0.9051 - val_loss: 0.2943 - val_acc: 0.8995\n",
            "Epoch 97/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.2364 - acc: 0.9051 - val_loss: 0.2920 - val_acc: 0.9041\n",
            "Epoch 98/100\n",
            "1022/1022 [==============================] - 0s 54us/step - loss: 0.2369 - acc: 0.9002 - val_loss: 0.2917 - val_acc: 0.9041\n",
            "Epoch 99/100\n",
            "1022/1022 [==============================] - 0s 53us/step - loss: 0.2341 - acc: 0.9051 - val_loss: 0.3010 - val_acc: 0.8904\n",
            "Epoch 100/100\n",
            "1022/1022 [==============================] - 0s 57us/step - loss: 0.2357 - acc: 0.9012 - val_loss: 0.2963 - val_acc: 0.8904\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "C9x2XY0fVhFV",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 51
        },
        "outputId": "a5dc5c06-a071-46be-c8d6-d8a9b94c3bfe"
      },
      "source": [
        "#The reason why we have the index 1 after the model.evaluate function is because\n",
        "#the function returns the loss as the first element and the accuracy as the \n",
        "#second element. To only output the accuracy, simply access the second element \n",
        "#(which is indexed by 1, since the first element starts its indexing from 0).\n",
        "model.evaluate(X_test, Y_test)[1]"
      ],
      "execution_count": 84,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "219/219 [==============================] - 0s 80us/step\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "0.8538812755449722"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 84
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "xtZ7A3DkVvCm",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 156
        },
        "outputId": "43832721-7553-4cc1-b6a5-617c857c317b"
      },
      "source": [
        "#Make a prediction\n",
        "prediction = model.predict(X_test)\n",
        "prediction  = [1 if y>=0.85 else 0 for y in prediction] #Threshold\n",
        "print(prediction)\n",
        "print(Y_test)"
      ],
      "execution_count": 88,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "[0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0]\n",
            "[0 1 1 0 0 0 1 1 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 1 1\n",
            " 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 0 1 1 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 0\n",
            " 1 1 0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 1\n",
            " 1 0 1 1 1 1 1 0 1 0 1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 1\n",
            " 1 0 0 1 1 1 0 0 1 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 1 0 0 0 0 0 1 1 1\n",
            " 1 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 0 0 0 1]\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "JCCtskOlW3pt",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 295
        },
        "outputId": "d03d1fe7-6d62-4e3f-f671-ead35d056c8c"
      },
      "source": [
        "#visualize the training loss and the validation loss to see if the model is overfitting\n",
        "plt.plot(hist.history['loss'])\n",
        "plt.plot(hist.history['val_loss'])\n",
        "plt.title('Model loss')\n",
        "plt.ylabel('Loss')\n",
        "plt.xlabel('Epoch')\n",
        "plt.legend(['Train', 'Val'], loc='upper right')\n",
        "plt.show()\n"
      ],
      "execution_count": 86,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\nTkSuQmCC\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "IYxMjqT3W5-D",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 295
        },
        "outputId": "f1344fbe-40df-4b93-b162-b5c55e161898"
      },
      "source": [
        "#visualize the training accuracy and the validation accuracy to see if the model is overfitting\n",
        "plt.plot(hist.history['acc'])\n",
        "plt.plot(hist.history['val_acc'])\n",
        "plt.title('Model accuracy')\n",
        "plt.ylabel('Accuracy')\n",
        "plt.xlabel('Epoch')\n",
        "plt.legend(['Train', 'Val'], loc='lower right')\n",
        "plt.show()"
      ],
      "execution_count": 87,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    }
  ]
}
